<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
<html lang="en">
<head>
<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2005. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="STYLESHEET" href="../book.css" charset="ISO-8859-1" type="text/css">
<title>JDT structure and API</title>
<link rel="stylesheet" type="text/css" href="../book.css">
</head>
<body>
<h1>JDT Structure and API</h1>
<p>Given that the JDT supplies a full featured Java IDE, why would you need to 
  use the JDT API?</p>
<p>If you are building a plug-in that interacts with Java programs or resources 
  as part of its function, you may need to do one or more of the following things:</p>
<ul>
  <li> Programmatically manipulate Java resources, such as creating projects, 
    generating Java source code, performing builds, or detecting problems in code.</li>
  <li> Programmatically launch a Java program from the platform</li>
  <li> Provide a new type of VM launcher to support a new family of Java runtimes</li>
  <li> Add new functions and extensions to the Java IDE itself</li>
</ul>
<p>If you want to use JDT API in your plug-in, you must include the JDT plug-ins 
  as prerequisites in your plug-in.xml.</p>
<ul>
  <li><b>org.eclipse.jdt.core</b> is the plug-in that defines the core Java elements 
    and API. You should always list this plug-in as a prerequisite.</li>
  <li><b>org.eclipse.jdt.ui</b> is the plug-in that defines the Java UI API. You 
    should list this plug-in as a prerequisite if you are using the JDT UI classes.</li>
  <li><b>org.eclipse.jdt.junit</b> is the plug-in that defines the JUnit integration API. You 
    should list this plug-in as a prerequisite if you are using the JUnit integration classes.</li>
  <li><b>org.eclipse.jdt.launching</b> is the plug-in that defines the Java launching 
    and runtime support. You should list this plug-in as a prerequisite if you 
    need to launch Java virtual machines programmatically.</li>
  <li><b>org.eclipse.jdt.debug</b> is the plug-in that defines the Java debug 
    model. You should list this plug-in as a prerequisite if you need to programmatically 
    access objects in a program being debugged.</li>
  <li><b>org.eclipse.jdt.debug.ui</b> is the plug-in that defines the Java debug 
    UI extensions. You should list this plug-in as a prerequisite if you need 
    to programmatically access the prompting source locator or Java launch configuration 
    tabs.</li>
</ul>

</body>
</html>
